1. Field of the Invention
The subject invention pertains to the art of image analysis. More particularly, this invention relates to image transformation to change the scale or size of an image in near real time.
2. Description of the Prior Art
It is well known to digitally represent a video image, such as a conventional video frame, by digitizing successive analog signals representing successive horizontal lines of the frame and storing numerical values representing the brightness of successive elements or pixels along each line as successive elements along a row of a two-dimensional array, the values representing successive lines being stored as successive rows so that successive sets of corresponding elements along the rows are elements of successive columns of the array. When an entire frame is represented as such an array, it is well known to use a transform based on the geometry of similar figures to calculate pixel values of an image of a different size than an image present in the original frame, successive such transforms being used to give a "zoom" effect. In such a transform it is known to interpolate between the brightness of adjacent pixels of a portion of the original image to determine the brightness of a pixel or pixels representing a corresponding portion of the varied image.
This prior art approach to image size variation is straightforward when there are no constraints on time and processor memory size and when the size variations between every successive pair of frames are known in advance. However, at the standard video frame rate of 30 frames per second with each frame represented, typically, by an array having about 500 elements in each row and column, it is evident that a vast amount of digital memory is required to store frames giving a zoom effect lasting a few seconds. Further, the general solution for varying the size of an image represented by such an array involves the possible effect of every original image pixel in every transformed image pixel. As a result, in a 500 by 500 array, (500.times.500).sup.2 or 6.25.times.10.sup.10 calculations might be involved so that such processing to achieve video image size variations in real or near real image time is not practical.
It is, of course, possible when sufficient memory is available to generate in non-real time a plurality of arrays representing successive video frames and then output the frames in real time if the size variations between images of every successive pair of frames are known in advance. However, when testing the dynamic response of a control system to movements of an object represented by simulated images, it is evident that each image is not known until the control system has responded to the previous image. As a result, it is not possible to generate images in advance for such control system testing. In dynamic response testing it is not possible to slow down the presentation of successive images to much less than real time and obtain significant results representing true real time dynamics of a control system.